const express = require("express");

const app = express();
const port = 3000;

// 解析JSON请求体
app.use(express.json());
// 封装POST请求
const post = (path: string, handler: (reqBody: any)) => Promise<any> => {
  app.post(path, (req, res) => {
    handler(req.body) // 调用传入的处理函数，并传入req.body
      .then(data => res.status(200).send(data)) // 成功时发送响应
      .catch(error => res.status(400).send(error)); // 失败时发送错误响应
  });
};

// 封装GET请求
const get = (path, handler) => {
  app.get(path, (req, res) => {
    handler(req.query) // 调用传入的处理函数，并传入req.query
      .then(data => res.status(200).send(data)) // 成功时发送响应
      .catch(error => res.status(400).send(error)); // 失败时发送错误响应
  });
};
// 启动服务器
app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

// 导出封装函数
export default {
  // post,
  // get,
  app
};

